package com.cykj.page03;

import java.io.FileInputStream;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;

/**
 * @BelongsProject: HandTomcat
 * @BelongsPackage: com.cykj.page03
 * @Author: WWJ
 * @CreateTime: 2025-06-17 12:54
 * @Description: 静态资源处理器
 * @Version: 1.0
 */
public class StaticResourceHandler {
    /*
     * 文件路径==>字节
     * 媒体类型
     * */

    //文件路径
    private String filePath;
    //文件的字节数据
    private byte[] fileBytes;
    //文件的媒体类型
    private String media;

    public StaticResourceHandler(String filePath) {
        this.filePath = filePath;
        getFileByte();
        getFileMedia();
    }

    //获取文件的字节数据
    private void getFileByte(){
        try {
            FileInputStream fis = new FileInputStream(filePath);
            fileBytes = new byte[fis.available()];
            fis.read(fileBytes);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }

    //获取文件的媒体类型
    private void getFileMedia(){
        try {
            //更据文件路径动态获取媒体类型
            media= Files.probeContentType(Paths.get(filePath));
            System.out.println("媒体类型为============================="+media);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

    public byte[] getFileBytes() {
        return fileBytes;
    }

    public String getFilePath() {
        return filePath;
    }

    public String getMedia() {
        return media;
    }
}
